The Relationship between Separation Logic and Implicit Dynamic Frames

نویسندگان

  • Matthew J. Parkinson
  • Alexander J. Summers
چکیده

Separation logic is a concise method for specifying programs that manipulatedynamically allocated storage. Partially inspired by separation logic, Implicit DynamicFrames has recently been proposed, aiming at first-order tool support. In this paper,we precisely connect the semantics of these two logics. We define a logic whose syntaxsubsumes both that of a standard separation logic, and that of implicit dynamic framesas sub-syntaxes. We define a total heap semantics for our logic, and, for the separationlogic subsyntax, prove it equivalent the standard partial heaps model. In order to definea semantics which works uniformly for both subsyntaxes, we define the novel concept ofa minimal state extension, which provides a different (but equivalent) definition of thesemantics of separation logic implication and magic wand connectives, while also givinga suitable semantics for these connectives in implicit dynamic frames. We show that ourresulting semantics agrees with the existing definition of weakest pre-condition semanticsfor the implicit dynamic frames fragment. Finally, we show that we can encode the sep-aration logic fragment of our logic into the implicit dynamic frames fragment, preservingsemantics. For the connectives typically supported by tools, this shows that separationlogic can be faithfully encoded in a first-order automatic verification tool (Chalice).

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implicit Dynamic Frames: Combining dynamic frames and separation logic (soundness proof)

The dynamic frames approach has proven to be a powerful formalism for specifying and verifying object-oriented programs. However, it requires writing and checking many frame annotations. In this paper, we propose a variant of the dynamic frames approach that eliminates the need to explicitly write and check frame annotations. In this paper, we improve upon the classical dynamic frames approach ...

متن کامل

From Explicit to Implicit Dynamic Frames in Concurrent Reasoning for Java

In [9] we presented an approach to permission-based reasoning about concurrent Java programs in the context of the interactive program verifier KeY [1] which is based on Dynamic Logic and explicit dynamic frames [6, 13]. We argued for the explicit approach advocating the modular use (w.r.t. sequential vs. concurrent) and overall preciseness. It was noted, however, that changing our specificatio...

متن کامل

Implicit Dynamic Frames ( draft )

An important, challenging problem in the verification of imperative programs with shared, mutable state is the frame problem in the presence of data abstraction. That is, one must be able to specify and verify upper bounds on the set of memory locations a method can read and write without exposing that method’s implementation. Separation logic is now widely considered the most promising solutio...

متن کامل

An Automatic Encoding from VeriFast Predicates into Implicit Dynamic Frames

VeriFast is a symbolic-execution-based verifier, based on separation logic specifications. Chalice is a verifier based on verification condition generation, which employs specifications in implicit dynamic frames. Recently, theoretical work has shown how the cores of these two verification logics can be formally related. However, the mechanisms for abstraction in the two tools are not obviously...

متن کامل

Implicit Dynamic Frames: Combining Dynamic Frames and Separation Logic

The dynamic frames approach has proven to be a powerful formalism for specifying and verifying object-oriented programs. However, it requires writing and checking many frame annotations. In this paper, we propose a variant of the dynamic frames approach that eliminates the need to explicitly write and check frame annotations. Reminiscent of separation logic’s frame rule, programmers write acces...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Logical Methods in Computer Science

دوره 8  شماره 

صفحات  -

تاریخ انتشار 2011